#pragma once
#ifndef MUSIC_H_
#define MUSIC_H_

#include "baseobject.h"

namespace EPOC
{
	class AudioManager;

	class Music : public BaseObject
	{
	public:
		Music(AudioManager *pAudioManager);
		virtual ~Music();

		virtual void Cleanup();
		virtual bool Update(float fTimeDelta);

		virtual bool Load(std::string sFilePath);
		virtual bool Play(int nTimes = 1);
		virtual void Stop();
		virtual void Pause();
		virtual void Resume();
		virtual void Rewind();

		virtual void SetVolume(int nVolume);
		virtual int GetVolume();

	protected:
		bool m_bPlaying;
		bool m_bPause;
		std::string m_sFilePath;
		int m_nVolume;

		Mix_Music *m_pMusic;
		AudioManager *m_pAudioManager;
	
	}; //class Music
}; //namespace EPOC

#endif